# @Time : 2024-10-23 13:10
# @Author : Fioman 
# @Phone : 13149920693
# 假如我们有一个需求,获取列表的最后三个元素
lstA = list(range(5, 1, -1))
lastThree = lstA[-3:]
print(lastThree)
lstB = list(range(10))
lastThree = lstB[-3:1]
print(lastThree)
# 当我们使用重复的切片操作的时候,我们可以给这重复的切片操作创建一个切片对象
lastThreeSlice = slice(-3, None, 1)  # 注意如果是没有就使用None,不能使用0
lastThree = lstA[lastThreeSlice]
print(lastThree)
lastThree = lstB[lastThreeSlice]
print(lastThree)

# 对于逆向切片
a = [x for x in range(20) if x % 2 != 0]
a_ = a[5:1:-1]
namedSlice = slice(5, 1, -1)
print(a_)
print(a[namedSlice])

# 当我们频繁使用同一个切片操作的时候,可以将这个切片创建成为切片对象,这样可以重复使用,并且可以给这个操作
# 命名,增加其可读性
